﻿@model  DHQGHN.DAL.Common.DataPage<DHQGHN.PM0.Models.Admin.GroupInRoleModel>
@{
    var pagNar = ViewBag.Pagination as DHQGHN.DAL.Common.Pagination;
    var lstItem = Model.Data;

}

<table class="tbl">
    <tr>
        <th style="width:5%">STT</th>
        <th style="width:5%">Chọn</th>
        <th style="width:40%">Tên nhóm người dùng</th>
        <th style="width:25%">Mã nhóm người dùng</th>
        <th style="width:25%">Mô tả</th>
   
    </tr>

    <tbody id="ctg_content_body">
        @if (Model.Data.Any())
        {
            for (int i = 0; i < lstItem.Count; i++)
            {
                <tr>
                    <td class="align-center">@(i + 1 + pagNar.CurrentPage * pagNar.PageSize)</td>
                    <td style="text-align:center"><div id="checkboxGroupInRole"> <input type="checkbox" name="@lstItem[i].GroupInRoleID" /></div> </td>
                    <td style="text-align: left;">@lstItem[i].GroupName</td>
                    <td style="text-align: left;">@lstItem[i].GroupCode</td>
                    <td style="text-align: left;">@lstItem[i].Descriptions</td>
                </tr>
            }
        }
        else
        {
            <tr>
                <td colspan="5"><p>Chưa có nhóm người dùng.</p></td>
            </tr>
        }
    </tbody>
    <tfoot>
        <tr>
            <td colspan="5" style="text-align:left;height:25px">
                <button type="button" class="btn btn-danger" title="Xóa nhóm khỏi vai trò" id="btnDelete">Xóa</button>
            </td>
        </tr>

        <tr>
            <td colspan="5">
                @if (Model.Data.Any())
                {
                    @Html.Partial("_PaginationView", pagNar)
                }
            </td>
        </tr>
    </tfoot>
</table>

<div id="navigate_bottom_panel" class="nav-bottom ">
</div>
<div id="group-in-role-model-container"></div>

<script>
        @functions{
            public string GetAntiForgeryToken()
            {
                string cookieToken, formToken;
                AntiForgery.GetTokens(null, out cookieToken, out formToken);
                return cookieToken + "," + formToken;
            }
        }
</script>
<script type="text/javascript">
    var crrPageIndex;

    function OnCriteria(pageIndex) {
		var role_id = $('#input-role-id');
        var app_id = $('#input-app-id');
		
        crrPageInde = pageIndex;
		
		role_id = role_id != null ? role_id.val().trim() : "";
        app_id = app_id != null ? app_id.val().trim() : "";
        $.ajax({
            dataType: "html",
            type: "POST",
            url: '/GroupInRole/actionSearch',
            contentType: "application/json",
            data: JSON.stringify({ pageIndex: pageIndex, aModel: { RoleID: role_id, AppID: app_id } }),
            success: function (response) {
                var $catlist = $('#group-in-role-list');

                if ($catlist == null || $catlist.length == 0) {
                    window.notice('@*@Resources.Localization.MsgItemNotFound*@', window.notice_error);
                }
                else {
                    $catlist.html(response);
                }
            }
        });
        setTimeout(function () { $('#search_form').find('input:text:visible:first').focus(); }, 500);
    }


    $(document).ready(function () {
        $('a').tipsy();

        $("table.tbl-user-list").colResizable({
            headerOnly: true,
            defaultWith: ["auto", "auto", "auto", "auto", "60px", '30px', '30px', '30px']
        });

        $('.group-in-role-add').bind('click', function (event) {
            var $self = $(this);
            $.post("/GroupInRole/actionPrepareCreateOrUpdateGroupInRole", { id: -1, roleID: $self.attr('data-role-id') }, function (data) {
                var $userModel = $('#group-in-role-model-container');
                $userModel.html(data);
                $('#GroupInRoleModal').modal({
                    keyboard: true
                });
            }, "html");
        });


        $('#btnDelete').click(function () {
            var values = [];
            $('#checkboxGroupInRole input:checked').each(function () {
                values.push(this.name);
            });

            if (values.length) {
                var $self = $(this);
                comfirmDelete("Bạn có muốn xóa nhóm người dùng không?", function () {
                    $.ajax("/GroupInRole/actionDelete", {
                        type: "post",
                        contentType: "application/json",
                        data: JSON.stringify({ id: values }), // JSON data goes here
                        dataType: "json",
                        headers: {
                            'VerificationToken': '@GetAntiForgeryToken()'
                        },
                        success: function (response) {
                            if (response.status == 200) {
                                OnCriteria(crrPageIndex);
                                window.notice(response.result, window.notice_success);
                            }
                            else {
                                window.notice(response.result, window.notice_error);
                            }
                        },
                    });
                }, null, "Xóa nhóm người dùng");
            } else {
                warning("Cần chọn nhóm người dùng để xóa", "Xóa nhóm người dùng");
            }
        });

        $('.group-in-role-delete').bind('click', function (event) {
            var $self = $(this);
            comfirmDelete("Bạn có muốn xóa nhóm người dùng không?", function () {
                $.ajax("/GroupInRole/actionDelete", {
                    type: "post",
                    contentType: "application/json",
                    data: JSON.stringify({ id: $self.attr('data-id') }), // JSON data goes here
                    dataType: "json",
                    headers: {
                        'VerificationToken': '@ViewBag.VerificationToken'
                    },
                    success: function (response) {
                        if (response.status == 200) {
                            OnCriteria(crrPageIndex);
                            window.notice(response.result, window.notice_success);
                        }
                        else {
                            window.notice(response.result, window.notice_error);
                        }
                    },
                });
            }, null, "Xóa nhóm người dùng");
        });


    });
</script>
